package it.polimi.traveldream.web;

import java.util.ArrayList;
import java.util.Map;

import it.polimi.traveldream.GestionePacchettoLocal;
import it.polimi.traveldream.GestioneRicercaLocal;
import it.polimi.traveldream.HotelDTO;
import it.polimi.traveldream.PackageDTO;
import it.polimi.traveldream.TransportDTO;
import it.polimi.traveldream.UtenteDTO;

import javax.annotation.PostConstruct;
import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ManagedProperty;
import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext;


@ManagedBean(name="infoPacchettoBean")
@SessionScoped
public class InfoPacchettoBean {
	
	@EJB
	private GestioneRicercaLocal gs;
	
	@ManagedProperty(value = "#{personalizzazionepacchetto}")
	private PersonalizzazionePacchettoBean personalizzazionepacchetto;
	
	
	private String id; // id per la ricerca
    private PackageDTO packagebyid;
    
    @PostConstruct
	public void init(){
		
	 }
    
    
    public String getId() {
		return id;
	}

	public void setId(String id) {
		this.id = id;
	}

	public PackageDTO getPackagebyid() {
		return packagebyid;
	}

	public void setPackagebyid(PackageDTO packagebyid) {
		this.packagebyid = packagebyid;
	}
	
	
	public String outcome(){
 
		FacesContext fc = FacesContext.getCurrentInstance();
	    
		this.packagebyid = gs.ricercaPacchettoById(Integer.parseInt(getIdParam(fc)));
		System.out.print(" Nome pacchetto selezionato:"+ packagebyid.getNome());
		
		for(TransportDTO t:packagebyid.getVoliandata()){
			System.out.print("Andata"+t.getNome());		
		  }
		for(TransportDTO t:packagebyid.getVoliritorno()){
			System.out.print("Andata"+t.getNome());		
		  }
		
		return "infoPacchetto.xhtml?faces-redirect=true";
	   }
	
	public String outcome1(){
		 
		FacesContext fc = FacesContext.getCurrentInstance();
	    
		this.packagebyid = gs.ricercaPacchettoById(Integer.parseInt(getIdParam1(fc)));
		System.out.print(" Nome pacchetto selezionato:"+ packagebyid.getNome());
		
		personalizzazionepacchetto.setSelectedHotel(this.packagebyid.getHotel().get(0).getId());
		personalizzazionepacchetto.setSelectedVoloAndata(this.packagebyid.getVoliandata().get(0).getId());
		personalizzazionepacchetto.setSelectedVoloRitorno(this.packagebyid.getVoliritorno().get(0).getId());
		
		System.out.print(" Nome pacchetto selezionato shh :"+ packagebyid.getNome());
		ArrayList<String> tmp=new ArrayList<String>();
		tmp.add(String.valueOf(this.packagebyid.getEscursioni().get(0).getId()));
				
		return "infoCompraPacchetto.xhtml?faces-redirect=true";
	 }
 
 

	private String getIdParam(FacesContext fc){
 
	    Map<String,String> params = fc.getExternalContext().getRequestParameterMap();
		return params.get("action");
	}
	
	private String getIdParam1(FacesContext fc){
		 
	    Map<String,String> params = fc.getExternalContext().getRequestParameterMap();
		return params.get("action1");
	}
	
	


	public PersonalizzazionePacchettoBean getPersonalizzazionepacchetto() {
		return personalizzazionepacchetto;
	}


	public void setPersonalizzazionepacchetto(
			PersonalizzazionePacchettoBean personalizzazionepacchetto) {
		this.personalizzazionepacchetto = personalizzazionepacchetto;
	}
 
    

}
